#include "RasterizerState.h"

CRasterizerState::CRasterizerState( )
{
    m_uFillMode              = D3DFILL_SOLID;
    m_uCullMode              = D3DCULL_NONE;
    m_iDepthBias             = 0;
    m_fDepthBiasClamp        = 0;
    m_fSlopeScaledDepthBias  = 0;
    m_bAntialiasedLineEnable = false;
    m_bNeedUpdate            = true;
}

void CRasterizerState::SetFillMode( D3DFILLMODE a_Mode )
{
    m_uFillMode = a_Mode;
    m_bNeedUpdate = true;
}

void CRasterizerState::SetCullMode( D3DCULL a_Mode )
{
    m_uCullMode = a_Mode;
    m_bNeedUpdate = true;
}

void CRasterizerState::SetSlopeScaledDepthBias( mFloat a_fSSDB )
{
    m_fSlopeScaledDepthBias = a_fSSDB;
    m_bNeedUpdate = true;
}

void CRasterizerState::SetDepthBias( mInt a_iBias )
{
    m_iDepthBias = a_iBias;
    m_bNeedUpdate = true;
}

void CRasterizerState::SetAntialiasedLine( mBool a_bValue )
{
    m_bAntialiasedLineEnable = a_bValue;
    m_bNeedUpdate = true;
}